<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.geoserver</groupId>
    <artifactId>community</artifactId>
    <version>2.26-SNAPSHOT</version>
  </parent>

  <groupId>org.geoserver.community</groupId>
  <artifactId>gs-rest-openapi</artifactId>
  <packaging>pom</packaging>
  <name>OpenAPI REST config client parent pom</name>
  <modules>
    <module>openapi</module>
    <module>generated</module>
    <module>java-client</module>
  </modules>

  <properties>
    <openapi-generator-maven-plugin.version>6.6.0</openapi-generator-maven-plugin.version>
    <mapstruct.version>1.5.5.Final</mapstruct.version>

    <lombok.version>1.18.30</lombok.version>
    <feign-version>10.11</feign-version>
    <feign-form-version>3.8.0</feign-form-version>
    <swagger-annotations.version>1.5.24</swagger-annotations.version>
    <oltu-version>1.0.2</oltu-version>

    <openapi-base-folder>${maven.multiModuleProjectDirectory}/src/community/rest-openapi/openapi/1.0.0</openapi-base-folder>
    <openapi.api.v1>${openapi.basepackage}.api.v1</openapi.api.v1>
    <openapi.api.v1.client>${openapi.api.v1}.client</openapi.api.v1.client>
    <openapi.api.v1.model>${openapi.api.v1}.model</openapi.api.v1.model>
    <openapi.basepackage>org.geoserver.restconfig</openapi.basepackage>
    <openapi.model.catalog>${openapi.basepackage}.model.catalog</openapi.model.catalog>
    <openapi.model.config>${openapi.basepackage}.model.config</openapi.model.config>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct</artifactId>
        <version>${mapstruct.version}</version>
      </dependency>
      <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct-processor</artifactId>
        <version>${mapstruct.version}</version>
      </dependency>
      <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-annotations</artifactId>
        <version>${swagger-annotations.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson2.databind.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson2.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson.datatype</groupId>
        <artifactId>jackson-datatype-jsr310</artifactId>
        <version>${jackson2.version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.openfeign</groupId>
        <artifactId>feign-core</artifactId>
        <version>${feign-version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.openfeign</groupId>
        <artifactId>feign-jackson</artifactId>
        <version>${feign-version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.openfeign</groupId>
        <artifactId>feign-okhttp</artifactId>
        <version>${feign-version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.openfeign</groupId>
        <artifactId>feign-slf4j</artifactId>
        <version>${feign-version}</version>
      </dependency>
      <dependency>
        <groupId>io.github.openfeign.form</groupId>
        <artifactId>feign-form</artifactId>
        <version>${feign-form-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.oltu.oauth2</groupId>
        <artifactId>org.apache.oltu.oauth2.client</artifactId>
        <version>${oltu-version}</version>
      </dependency>
      <dependency>
        <!-- @Nullable annotation -->
        <groupId>com.google.code.findbugs</groupId>
        <artifactId>jsr305</artifactId>
        <version>3.0.2</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>build-helper-maven-plugin</artifactId>
          <version>3.2.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
